/*
 * iBus.h
 *
 *  Created on: 05/07/2014
 *      Author: nicolas
 */

#ifndef IBUS_H_
#define IBUS_H_

#include "../ipc/ColaMensajes.h"
#include "../defines.h"
#include "../comun/ServidorIDs.h"
#include "../comun/iCola.h"
#include "../comun/ServidorRemoto.h"
#include "../ipc/ColaInterfaz.h"

class iBus {
private:
	ServidorIDs idServer;
	iCola* colaSistema;
	ColaInterfaz* colaRespuesta;
	int numeroSala;
	int id;
	Tipos::LugarDeSala lugar;
	ServidorRemoto rpc;
	void generarCorte(int id);
	int idSalaSalida;
public:

//	iBus(Tipos::LugarDeSala lugar, int numSala);

	iBus(int camino, int id, Tipos::LugarDeSala lugar);

	/**
	 * Para uso de la Sala de salida
	 */
	void recibirMensaje();

	void enviarRespuesta(int idPersona);

	/**
	 * Para uso de la Persona
	 */

	int recibirPermisoBajar();

	void confirmarBajada();

	void cambiarDeBus(int idRepuesto);
};

#endif /* IBUS_H_ */
